#ifdef KOMPRESJA_CPP
#define KOMPRESJA_CPP
#include <iostream>
#include <fstream>
#include "character.h"


using namespace std;


class Czytaj_Pole{
    public:
        unsigned int typePole       : 2;
        unsigned int character      : 1;
        unsigned int trap           : 1;
        unsigned int vU             : 1;
        unsigned int vD             : 1;
        unsigned int vL             : 1;
        unsigned int vR             : 1;

};
class Czytaj_StanGraczy{
    public:
        unsigned int player         : 1;
        unsigned int typeCharacter  : 3;
        unsigned int life           : 4;
};
class Czytaj_rodzaj_pluapki{
    public:
        unsigned int trapType       : 4;
        unsigned int                : 4;
};
class Start{
    public:
        unsigned int Start          : 4;
};

class Czytaj_StanGraczy_Mana{
    public:
        unsigned int mana1          : 4;
        unsigned int mana2          : 4;
};


static union {
char dane;
Czytaj_Pole pole;
Czytaj_StanGraczy postacie;
};




int cos(){

char cos[96];
char ktos[96]={0};

for(int i=0;i<96;++i){
    pole.character=1;
    pole.typePole=2;
    pole.vU=1;
    pole.vD=1;
    pole.vL=0;
    pole.vR=1;
    cos[i]=dane;
    dane=0;
}

ofstream kompresja("test.txt",ios::out| ios::binary);
kompresja.write(cos,96);
kompresja.close();
ifstream dekompresja("test.txt",ios::in| ios::binary);
dekompresja.read(ktos,96);
dekompresja.close();

cout <<"\n\n";

cout<< "Odczytywanie pliku" <<endl;
cout << ktos<< endl;

for(int i=0;i<96;++i){
    dane=ktos[i];
    cout<< pole.character<<" "<< pole.typePole <<" "<<" "<<pole.vU<<" "<< pole.vD<<" "<< pole.vL<<" "<< pole.vR<<" "<<endl;
    dane=0;
}
}

#endif
